One increasingly popular form of networking may generally be referred to as remote presentation systems, which can use protocols such as Remote Desktop Protocol (RDP) and Independent Computing Architecture (ICA) to share a desktop and other applications executing on a server with a remote client. Such computing systems typically transmit the keyboard presses and mouse clicks or selections from the client to the server, relaying the screen updates back in the other direction over a network connection (e.g., the Internet). As such, the user has the experience as if his or her machine is operating entirely locally, when in reality the client device is only sent screenshots of the desktop or applications as they appear on the server side.
In a remote presentation or remote desktop environment, a licensing mechanism is typically used. Remote presentation systems typically monitor and control access to the various applications that are remotely accessed, often using a licensing model that allows users to use the applications on one or more computers subject to the certain terms and conditions. Server applications may require that clients connecting to the server applications have a license to connect to and use the services of that software. Such licenses may be referred to as a CAL, or a client access license. A client access license is a license that gives a user the right to access one or more the services of the server. A server may ensure that a valid client access license is provided by authenticating the license and ensuring that the maximum number of clients for a given application has not been exceeded before allowing access to the application.
Many businesses and enterprises operate in a dynamic business environment and it is desirable that the licensing platform be able to adapt to the changes in the environment. However, many remote presentation hosts are configured with a predetermined licensing mode—either per-device, per-user, or not-yet-configured. For example, the remote client may be configured with a configuration file defining the licensing configuration. The licensing platform (license server) typically issues different types of client access licenses to the remote client, and these licenses are typically per-device or per-user. Once the licensing mode is set to either per-device mode or per-user mode, the platform will only support the predetermined mode. For example, if the platform is set to per-device mode, all connections to the remote presentation host server will consume only per-device client access licenses. The same server typically cannot service both per-device and per-user modes. This may cause users to use multiple servers to service different types of licensing modes.